home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekikoh Dennoh Club 5
/
Gekikoh Dennoh Club Vol. 5 (Japan).7z
/
Gekikoh Dennoh Club Vol. 5 (Japan) (Track 01).bin
/
games
/
kenka
/
kenka2s.lzh
/
flag_m.inc
< prev
next >
Wrap
Text File
|
1998-08-27
|
13KB
|
642 lines
*---------------------------------------
*
* ô«ì∞âïü[â`âô
*
* by Shiroh Nakaya
*
*---------------------------------------
*---------------------------------------
flag_0:
move.w C_X(a1),d1
cmp.w C_X(a2),d1 * ì╢ëEîⁿé½ö╗ÆΦ
bgt 1f
blt 2f
bra @f
1:
move.w #1,C_LR_F(a1) * Ä⌐ò¬é═ì╢é╔îⁿé¡
bra @f
2:
clr.w C_LR_F(a1) * Ä⌐ò¬é═ëEé╔îⁿé¡
@@:
btst #5,d6
bne @f
move.w #4,C_M_F(a1)
clr.w C_CNT(a1)
bra flag_0_exit
@@:
eori.b #$ff,d6
andi.l #$0f,d6 * âCâôâfâbâNâXé╔òsòKùvé╚âfü[â^é≡ìφÅ£
move.w d6,d5
lsr.w #2,d5 * æOÉié¿éµé╤îπæ▐Åêù¥
move.w d5,C_CNT(a1)
move.w C_X(a1),d1 * ê┌ô«Åêù¥
move.w C_Y(a1),d2
add.w d6,d6 * ê┌ô«ù╩ĵô╛
add.w d6,d6
movea.l C_JOY(a1),a0
move.w 0(a0,d6.w),d3 * éwì└òWò√îⁿê┌ô«
add.w d3,d1
cmp.w C_MD_X2(a1),d1 * ê┌ô«ö═ê═â`âFâbâN
bgt @f * é═é▌Åoé╖ùlé┼éáéΩé╬ê┌ô«é╡é╚éó
cmp.w C_MD_X1(a1),d1
blt @f
move.w d1,C_X(a1) * ê┌ô«ö═ê═ôαé╚éτé╬ê┌ô«é│é╣éΘ
@@:
move.w 2(a0,d6.w),d3 * éxì└òWò√îⁿê┌ô«
add.w d3,d2 * Åêù¥ôIé╔é═éwì└òWÄ₧é╞ô»é╢
cmp.w C_MD_Y2(a1),d2
bgt @f
cmp.w C_MD_Y1(a1),d2
blt @f
move.w d2,C_Y(a1)
flag_0_exit:
rts
*---------------------------------------
flag_1:
addq.w #1,C_ANI_WC(a1) * âAâjâüâEâGâCâgâCâôâNâèâüâôâg
movea.l C_A_D(a1),a0 * âéü[âVâçâôâfü[â^é≡ĵô╛
move.w (a0),d0
cmp.w C_ANI_WC(a1),d0 * âAâjâüâEâGâCâgé¬âéü[âVâçâôâfü[â^Ælé≡ëzéªé╜éτ
bgt flag_1_exit * âéü[âVâçâôé≡ìXÉV
addq.l #2,C_A_D(a1)
clr.w C_ANI_WC(a1)
addq.w #1,C_AM_F(a1) * ìUîéô«ì∞âtâëâOé╔éµéΦèeô«ì∞é╓
move.w C_AM_F(a1),d0
add.w d0,d0
move.w attack_process(pc,d0.w),d0
jmp attack_process(pc,d0.w)
attack_process:
.dc.w flag_1_exit-attack_process,ak_1-attack_process
.dc.w ak_2-attack_process,ak_3-attack_process
ak_1: * ìUîéö╗ÆΦÅoî╗Åêù¥
movea.l C_PCM_D(a1),a4 * é`écéoébélö¡ë╣ùvïü
lea.l 50(a4),a4
move.w C_AK_F(a1),d0
move.w d0,d1 * écéOé≡éPéOö{
lsl.w #3,d0
add.w d1,d1
add.w d1,d0
adda.w d0,a4
tst.l (a4)
beq 3f
tst.l go_adpcm
beq 2f
movea.l go_adpcm,a3
move.w PCM_P(a4),d0
cmp.w PCM_P(a3),d0
blt 3f
2:
move.l a4,go_adpcm
3:
lea.l CHARA_DATA(a1),a3
moveq.l #0,d0
move.w C_AK_F(a1),d0
move.w d0,d1 * écéPé≡ï]É╡é╔é╡é─écéOé≡éQéOö{
add.w d1,d1
add.w d1,d1
lsl.w #4,d0
add.w d1,d0
movea.l C_HIT_D(a1),a0
adda.l d0,a0
move.w (a0),d1 * èeÄφâfü[â^âZâbâg
move.w 2(a0),d2
tst.w C_LR_F(a1)
beq 1f
neg.w d1
1:
add.w C_X(a1),d1
add.w C_Y(a1),d2
move.w d1,C_X(a3)
move.w d2,C_Y(a3)
move.w 4(a0),C_H_X(a3)
move.w 6(a0),C_H_Y(a3)
move.w 8(a0),C_HD_X(a3)
move.w 10(a0),C_HD_Y(a3)
move.w 12(a0),C_K(a3)
move.w 14(a0),C_HIT_F(a3)
move.w 16(a0),C_M_F(a3)
move.w 18(a0),C_CNT(a3)
move.w C_AK_F(a1),C_AK_F(a3)
@@:
rts
ak_2:
lea.l CHARA_DATA(a1),a3
clr.w C_M_F(a3)
rts
ak_3:
clr.w C_M_F(a1)
clr.w C_CNT(a1)
move.w #1,C_AM_F(a1)
flag_1_exit:
rts
*---------------------------------------
flag_2:
tst.w C_ANI_WC(a1)
bne @f
lea.l CHARA_DATA(a1),a4
clr.w C_M_F(a4) * é▒é┐éτé╠ìUîéö╗ÆΦé≡ï¡ÉºôIé╔Å┴é╖
move.w #1,C_AM_F(a1)
move.w C_LR_F(a2),d0 * öwîπé⌐éτìUîéé≡Ä≤é»é╜Ä₧é═
cmp.w C_LR_F(a1),d0 * îⁿé½é≡ö╜æ╬é╔é╡é─é╠é»é╝éΘ
bne @f
addq.w #1,C_LR_F(a1)
andi.w #1,C_LR_F(a1)
@@:
move.w C_HIT_F(a1),d0 * é╠é»é╝éΦî°ë╩Åêù¥
beq @f
andi.w #$f0ff,d7
add.w d0,d7
move.w C_ANI_WC(a1),d0 * éQé┬é╠âpâîâbâgé≡Ägé┴é─âAâjâüé│é╣éΘ
andi.w #$0003,d0
beq @f
addi.w #$0100,d7
@@:
addq.w #1,C_ANI_WC(a1)
move.w C_CNT(a1),d0
cmp.w C_ANI_WC(a1),d0
bgt @f
clr.w C_M_F(a1)
clr.w C_HIT_C(a1)
clr.w C_CNT(a1)
clr.w C_B_JOY(a1)
btst #6,d6 * ùºé┐Æ╝éΦìUîéÅêù¥âgâèâKéaé┼ö¡ô«
bne not_attack * âvâìâOâëâÇé╠ì\æóÅπéäéUé╔ôⁿé┴é─éóéΘ
move.l C_A_DT(a1),C_A_D(a1) * âéü[âVâçâôâfü[â^é≡ĵô╛
addq.l #6,C_A_D(a1) * èeÄφâfü[â^âZâbâg
move.w #1,C_M_F(a1)
clr.w C_ANI_WC(a1)
move.w #1,C_AM_F(a1)
move.w #1,C_AK_F(a1)
move.w #1,C_B_JOY(a1)
lea.l CHARA_DATA(a1),a3 * ìUîéö╗ÆΦÅoî╗Åêù¥
movea.l C_HIT_D(a1),a0
adda.w #18,a0
move.w (a0),d1 * èeÄφâfü[â^âZâbâg
move.w 2(a0),d2
tst.w C_LR_F(a1)
beq 1f
neg.w d1
1:
add.w C_X(a1),d1
add.w C_Y(a1),d2
move.w d1,C_X(a3)
move.w d2,C_Y(a3)
move.w 4(a0),C_H_X(a3)
move.w 6(a0),C_H_Y(a3)
move.w 8(a0),C_HD_X(a3)
move.w 10(a0),C_HD_Y(a3)
move.w 12(a0),C_K(a3)
move.w 14(a0),C_HIT_F(a3)
move.w C_AK_F(a1),C_AK_F(a3)
move.w #1,C_M_F(a3)
movea.l C_PCM_D(a1),a4 * é`écéoébélö¡ë╣ùvïü
lea.l 60(a4),a4
tst.l go_adpcm
beq 2f
movea.l go_adpcm,a3
move.w PCM_P(a4),d0
cmp.w PCM_P(a3),d0
blt not_attack
2:
move.l a4,go_adpcm
not_attack:
rts
@@:
moveq.l #0,d0
tst.w C_K(a1)
bmi @f
cmpi.w #4,C_HIT_C(a1)
ble 1f
@@:
moveq.l #1,d0
1:
move.w C_X(a1),d1
tst.w C_LR_F(a1) * ëEîⁿé½é╚éτì╢é╓é╠é»é╝éΘ
bne @f
sub.w d0,d1
cmp.w C_MD_X1(a1),d1 * ëµû╩Æ[é▄é┼ìsé½üAé╚é¿é╠é»é╝é┴é─éóéΘé╚éτ
bgt 1f * ö╜æ╬æñé╠ëµû╩Æ[é╔âÅü[âvüiêΩë₧ânâüæ╬ì⌠üj
tst.w C_K(a1)
bmi 2f
move.w C_MD_X2(a1),d1
clr.w C_M_F(a1)
clr.w C_HIT_C(a1)
clr.w C_CNT(a1)
1:
move.w d1,C_X(a1)
2:
rts
@@: * ì╢îⁿé½é╚éτëEé╓é╠é»é╝éΘ
add.w d0,d1
cmp.w C_MD_X2(a1),d1 * ëµû╩Æ[é╠Åêù¥
blt 1f
tst.w C_K(a1)
bmi 2f
move.w C_MD_X1(a1),d1
clr.w C_M_F(a1)
clr.w C_HIT_C(a1)
clr.w C_CNT(a1)
1:
move.w d1,C_X(a1)
2:
rts
*---------------------------------------
flag_4:
tst.w C_CNT(a1)
beq 3f
subq.w #1,C_CNT(a1)
move.w C_X(a1),d1
tst.w C_LR_F(a1) * ëEîⁿé½é╚éτì╢é╓
bne @f
subq.w #1,d1
cmp.w C_MD_X1(a1),d1 * ëµû╩Æ[é▄é┼ìsé½üAé╚é¿é╠é»é╝é┴é─éóéΘé╚éτ
bgt 1f * ö╜æ╬æñé╠ëµû╩Æ[é╔âÅü[âvüiêΩë₧ânâüæ╬ì⌠üj
tst.w C_K(a1)
bmi 2f
move.w C_MD_X2(a1),d1
clr.w C_M_F(a1)
clr.w C_HIT_C(a1)
clr.w C_CNT(a1)
1:
move.w d1,C_X(a1)
2:
rts
@@: * ì╢îⁿé½é╚éτëEé╓
addq.w #1,d1
cmp.w C_MD_X2(a1),d1 * ëµû╩Æ[é╠Åêù¥
blt 1f
tst.w C_K(a1)
bmi 2f
move.w C_MD_X1(a1),d1
clr.w C_M_F(a1)
clr.w C_HIT_C(a1)
clr.w C_CNT(a1)
1:
move.w d1,C_X(a1)
2:
rts
3:
btst #5,d6
beq @f
clr.w C_M_F(a1)
@@:
rts
*---------------------------------------
* éeéîéüéçü@éT
* âLâââôâZâïòsë┬æ┼îéÅêù¥
*
flag_5:
addq.w #1,C_ANI_WC(a1) * âAâjâüâEâGâCâgâCâôâNâèâüâôâg
movea.l C_A_D(a1),a0 * âéü[âVâçâôâfü[â^é≡ĵô╛
move.w (a0),d0
cmp.w C_ANI_WC(a1),d0 * âAâjâüâEâGâCâgé¬âéü[âVâçâôâfü[â^Ælé≡ëzéªé╜éτ
bgt flag_5_exit * âéü[âVâçâôé≡ìXÉV
addq.l #2,C_A_D(a1)
clr.w C_ANI_WC(a1)
addq.w #1,C_AM_F(a1) * ìUîéô«ì∞âtâëâOé╔éµéΦèeô«ì∞é╓
move.w C_AM_F(a1),d0
add.w d0,d0
move.w s_attack_process(pc,d0.w),d0
jmp s_attack_process(pc,d0.w)
s_attack_process:
.dc.w flag_5_exit-s_attack_process,sak_1-s_attack_process
.dc.w sak_2-s_attack_process,sak_3-s_attack_process
sak_1: * ìUîéö╗ÆΦÅoî╗Åêù¥
movea.l C_PCM_D(a1),a4 * é`écéoébélö¡ë╣ùvïü
lea.l 50(a4),a4
move.w C_AK_F(a1),d0
move.w d0,d1 * écéOé≡éPéOö{
lsl.w #3,d0
add.w d1,d1
add.w d1,d0
adda.w d0,a4
tst.l (a4)
beq 3f
tst.l go_adpcm
beq 2f
movea.l go_adpcm,a3
move.w PCM_P(a4),d0
cmp.w PCM_P(a3),d0
blt 3f
2:
move.l a4,go_adpcm
3:
lea.l CHARA_DATA(a1),a3
moveq.l #0,d0
move.w C_AK_F(a1),d0
move.w d0,d1 * écéPé≡ï]É╡é╔é╡é─écéOé≡éQéOö{
add.w d1,d1
add.w d1,d1
lsl.w #4,d0
add.w d1,d0
movea.l C_HIT_D(a1),a0
adda.l d0,a0
move.w (a0),d1 * èeÄφâfü[â^âZâbâg
move.w 2(a0),d2
tst.w C_LR_F(a1)
beq 1f
neg.w d1
1:
add.w C_X(a1),d1
add.w C_Y(a1),d2
move.w d1,C_X(a3)
move.w d2,C_Y(a3)
move.w 4(a0),C_H_X(a3)
move.w 6(a0),C_H_Y(a3)
move.w 8(a0),C_HD_X(a3)
move.w 10(a0),C_HD_Y(a3)
move.w 12(a0),C_K(a3)
move.w 14(a0),C_HIT_F(a3)
move.w 16(a0),C_M_F(a3)
move.w 18(a0),C_CNT(a3)
move.w C_AK_F(a1),C_AK_F(a3)
@@:
rts
sak_2:
lea.l CHARA_DATA(a1),a3
clr.w C_M_F(a3)
rts
sak_3:
clr.w C_M_F(a1)
clr.w C_CNT(a1)
move.w #1,C_AM_F(a1)
flag_5_exit:
rts
*---------------------------------------
* éeéîéüéçü@éU
* ìUîéé│é╬é½Åêù¥
*
flag_6:
movea.l C_A_D(a1),a0
addq.w #1,C_ANI_WC(a1)
andi.w #$0001,C_ANI_WC(a1)
beq @f
andi.w #$f0ff,d7
addi.w #$0500,d7
move.w (a0),d0
cmp.w C_CNT(a1),d0
bgt @f
subi.w #$0200,d7
@@:
move.w 2(a0),d0
addq.w #1,C_CNT(a1)
cmp.w C_CNT(a1),d0
bne @f
clr.w C_M_F(a1)
clr.w C_CNT(a1)
move.w #1,C_AM_F(a1)
@@:
rts
*---------------------------------------
* éeéîéüéçü@éV
* ö≥é╤ô╣ï∩Åêù¥
*
flag_7:
addq.w #1,C_ANI_WC(a1) * âAâjâüâEâGâCâgâCâôâNâèâüâôâg
movea.l C_A_D(a1),a0 * âéü[âVâçâôâfü[â^é≡ĵô╛
move.w (a0),d0
cmp.w C_ANI_WC(a1),d0 * âAâjâüâEâGâCâgé¬âéü[âVâçâôâfü[â^Ælé≡ëzéªé╜éτ
bgt flag_7_exit * âéü[âVâçâôé≡ìXÉV
addq.l #2,C_A_D(a1)
clr.w C_ANI_WC(a1)
addq.w #1,C_AM_F(a1) * ìUîéô«ì∞âtâëâOé╔éµéΦèeô«ì∞é╓
move.w C_AM_F(a1),d0
add.w d0,d0
move.w s_attack7_process(pc,d0.w),d0
jmp s_attack7_process(pc,d0.w)
s_attack7_process:
.dc.w flag_7_exit-s_attack7_process,sak7_1-s_attack7_process
.dc.w sak7_2-s_attack7_process
sak7_1: * ìUîéö╗ÆΦÅoî╗Åêù¥
movea.l C_PCM_D(a1),a4 * é`écéoébélö¡ë╣ùvïü
lea.l 50(a4),a4
move.w C_AK_F(a1),d0
move.w d0,d1 * écéOé≡éPéOö{
lsl.w #3,d0
add.w d1,d1
add.w d1,d0
adda.w d0,a4
tst.l (a4)
beq 3f
tst.l go_adpcm
beq 2f
movea.l go_adpcm,a3
move.w PCM_P(a4),d0
cmp.w PCM_P(a3),d0
blt 3f
2:
move.l a4,go_adpcm
3:
lea.l CHARA_DATA(a1),a3
moveq.l #0,d0
move.w C_AK_F(a1),d0
move.w d0,d1 * écéPé≡ï]É╡é╔é╡é─écéOé≡éQéOö{
add.w d1,d1
add.w d1,d1
lsl.w #4,d0
add.w d1,d0
movea.l C_HIT_D(a1),a0
adda.l d0,a0
move.w (a0),d1 * èeÄφâfü[â^âZâbâg
move.w 2(a0),d2
tst.w C_LR_F(a1)
beq 1f
neg.w d1
1:
add.w C_X(a1),d1
add.w C_Y(a1),d2
move.w d1,C_X(a3)
move.w d2,C_Y(a3)
move.w 4(a0),C_H_X(a3)
move.w 6(a0),C_H_Y(a3)
move.w 8(a0),C_HD_X(a3)
move.w 10(a0),C_HD_Y(a3)
move.w 12(a0),C_K(a3)
move.w 14(a0),C_HIT_F(a3)
move.w 16(a0),C_M_F(a3)
move.w 18(a0),C_CNT(a3)
move.w C_AK_F(a1),C_AK_F(a3)
clr.w C_ANI_WC(a3)
clr.w C_LR_F(a3)
@@:
rts
sak7_2:
lea.l CHARA_DATA(a1),a3
clr.w C_M_F(a3)
clr.w C_M_F(a1)
clr.w C_CNT(a1)
move.w #1,C_AM_F(a1)
rts
flag_7_exit:
lea.l CHARA_DATA(a1),a3
tst.w C_M_F(a3)
beq 3f
addq.w #1,C_LR_F(a3)
andi.w #$0003,C_LR_F(a3)
bne @f
addq.w #1,C_ANI_WC(a3)
andi.w #$0003,C_ANI_WC(a3)
@@:
tst.w C_LR_F(a1)
bne @f
addq.w #2,C_X(a3)
rts
@@:
subq.w #2,C_X(a3)
3:
rts
*---------------------------------------
* éeéîéüéçü@éW
* ô╦ÉiïZÅêù¥
*
flag_8:
addq.w #1,C_ANI_WC(a1) * âAâjâüâEâGâCâgâCâôâNâèâüâôâg
movea.l C_A_D(a1),a0 * âéü[âVâçâôâfü[â^é≡ĵô╛
move.w (a0),d0
cmp.w C_ANI_WC(a1),d0 * âAâjâüâEâGâCâgé¬âéü[âVâçâôâfü[â^Ælé≡ëzéªé╜éτ
bgt flag_8_exit * âéü[âVâçâôé≡ìXÉV
addq.l #2,C_A_D(a1)
clr.w C_ANI_WC(a1)
addq.w #1,C_AM_F(a1) * ìUîéô«ì∞âtâëâOé╔éµéΦèeô«ì∞é╓
move.w C_AM_F(a1),d0
add.w d0,d0
move.w st_attack_process(pc,d0.w),d0
jmp st_attack_process(pc,d0.w)
st_attack_process:
.dc.w flag_8_exit-st_attack_process,stak_1-st_attack_process
.dc.w stak_2-st_attack_process,stak_3-st_attack_process
stak_1: * ìUîéö╗ÆΦÅoî╗Åêù¥
movea.l C_PCM_D(a1),a4 * é`écéoébélö¡ë╣ùvïü
lea.l 50(a4),a4
move.w C_AK_F(a1),d0
move.w d0,d1 * écéOé≡éPéOö{
lsl.w #3,d0
add.w d1,d1
add.w d1,d0
adda.w d0,a4
tst.l (a4)
beq 3f
tst.l go_adpcm
beq 2f
movea.l go_adpcm,a3
move.w PCM_P(a4),d0
cmp.w PCM_P(a3),d0
blt 3f
2:
move.l a4,go_adpcm
3:
lea.l CHARA_DATA(a1),a3
moveq.l #0,d0
move.w C_AK_F(a1),d0
move.w d0,d1 * écéPé≡ï]É╡é╔é╡é─écéOé≡éQéOö{
add.w d1,d1
add.w d1,d1
lsl.w #4,d0
add.w d1,d0
movea.l C_HIT_D(a1),a0
adda.l d0,a0
move.w (a0),d1 * èeÄφâfü[â^âZâbâg
move.w 2(a0),d2
tst.w C_LR_F(a1)
beq 1f
neg.w d1
1:
add.w C_X(a1),d1
add.w C_Y(a1),d2
move.w d1,C_X(a3)
move.w d2,C_Y(a3)
move.w 4(a0),C_H_X(a3)
move.w 6(a0),C_H_Y(a3)
move.w 8(a0),C_HD_X(a3)
move.w 10(a0),C_HD_Y(a3)
move.w 12(a0),C_K(a3)
move.w 14(a0),C_HIT_F(a3)
move.w 16(a0),C_M_F(a3)
move.w 18(a0),C_CNT(a3)
move.w C_AK_F(a1),C_AK_F(a3)
@@:
rts
stak_2:
lea.l CHARA_DATA(a1),a3
clr.w C_M_F(a3)
rts
stak_3:
clr.w C_M_F(a1)
clr.w C_CNT(a1)
move.w #1,C_AM_F(a1)
rts
flag_8_exit:
cmpi.w #1,C_AM_F(a1)
bne 3f
lea.l CHARA_DATA(a1),a3
move.w C_X(a3),d2
move.w C_X(a1),d1
tst.w C_LR_F(a1)
bne @f
addq.w #2,d1
addq.w #2,d2
bra 1f
@@:
subq.w #2,d1
subq.w #2,d2
1:
cmp.w C_MD_X2(a1),d1 * ê┌ô«ö═ê═â`âFâbâN
bgt 3f * é═é▌Åoé╖ùlé┼éáéΩé╬ê┌ô«é╡é╚éó
cmp.w C_MD_X1(a1),d1
blt 3f
move.w d1,C_X(a1) * ê┌ô«ö═ê═ôαé╚éτé╬ê┌ô«é│é╣éΘ
move.w d2,C_X(a3)
3:
rts
*---------------------------------------
* éeéîéüéçü@éX
* ò╧ÉgÅêù¥
*
flag_9:
clr.w C_M_F(a1)
clr.w C_CNT(a1)
move.w #1,C_AM_F(a1)
movea.l C_A_D(a1),a3
movea.l (a3),a3
jmp (a3)
*---------------------------------------